<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PID_Study: PID_Study 项目介绍</title>
<link rel="icon" href="Doxygen-55px.png" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="Doxygen-55px.png"/></td>
  <td id="projectalign">
   <div id="projectname">PID_Study<span id="projectnumber">&#160;v1.0.0</span>
   </div>
   <div id="projectbrief">doc for PID_Study</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div><div class="header">
  <div class="headertitle"><div class="title">PID_Study 项目介绍 </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md__e_1_2_s_t_m32_cube_i_d_e_workspace_2no_r_t_o_s_2_p_i_d___study_2_r_e_a_d_m_e"></a></p>
<p><img src="https://img.shields.io/badge/MCU-STM32-blue?logo=stmicroelectronics" alt="MCU" class="inline"/> <img src="https://img.shields.io/badge/Library-HAL-green" alt="Library" class="inline"/> <img src="https://img.shields.io/badge/Algorithm-PID-orange" alt="Algorithm" class="inline"/> <img src="https://img.shields.io/badge/Docs-Doxygen-lightgrey?logo=doxygen" alt="Docs" class="inline"/></p>
<h1 class="doxsection"><a class="anchor" id="autotoc_md1"></a>
项目概述</h1>
<p><b>PID_Study</b> 是一个基于 <b>STM32 平台</b> 的 PID 控制研究项目，主要实现了 PID 控制算法及相关硬件驱动，适用于学习和研究 PID 控制原理及嵌入式系统应用。</p>
<p>项目包含以下功能：</p>
<ul>
<li>传感器数据采集</li>
<li>PID 控制逻辑</li>
<li>硬件驱动 <br  />
 可作为嵌入式控制系统的基础框架。</li>
</ul>
<hr  />
<h1 class="doxsection"><a class="anchor" id="autotoc_md3"></a>
项目结构</h1>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">目录  </th><th class="markdownTableHeadNone">内容  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><span class="tt">STM32CubeIDEWorkspace/noRTOS/PID_Study</span>  </td><td class="markdownTableBodyNone">项目主目录  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><span class="tt">Drivers/</span>  </td><td class="markdownTableBodyNone">硬件驱动目录  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><span class="tt">Drivers/BSP/Inc/</span>  </td><td class="markdownTableBodyNone">驱动头文件（<span class="tt">RP.h</span>、<span class="tt">serial.h</span>、<span class="tt">motor.h</span>、<span class="tt">u8g2_stm32_hw_iic.h</span> 等）  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><span class="tt">Drivers/BSP/Src/</span>  </td><td class="markdownTableBodyNone">驱动实现（<span class="tt">RP.c</span>、<span class="tt">serial.c</span>、<span class="tt">motor.c</span>、<span class="tt">u8g2_stm32_hw_iic.c</span>、<span class="tt">delay.c</span>、<span class="tt">encoder.c</span>、<span class="tt">keyled.c</span> 等）  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><span class="tt">Algorithm/Inc/</span>  </td><td class="markdownTableBodyNone">算法头文件  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><span class="tt">Algorithm/Src/</span>  </td><td class="markdownTableBodyNone">算法实现（<span class="tt">kalman_filter.c</span> 等）  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><span class="tt">Application/Src/</span>  </td><td class="markdownTableBodyNone">应用层代码（<span class="tt">pid_control.c</span>、<span class="tt">key_control.c</span> 等）  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><span class="tt">docs/html/</span>  </td><td class="markdownTableBodyNone">项目文档（由 <b>Doxygen</b> 生成的 HTML 文档）  </td></tr>
</table>
<hr  />
<h1 class="doxsection"><a class="anchor" id="autotoc_md5"></a>
核心功能模块</h1>
<h2 class="doxsection"><a class="anchor" id="autotoc_md6"></a>
PID 控制模块</h2>
<ul>
<li>实现 PID 控制算法及相关滤波功能（<span class="tt">pid_control.c / pid_control.h</span>）</li>
<li>支持传感器数据采集与滤波处理（<span class="tt">RP_Read_And_filter_RUN</span> 函数）</li>
</ul>
<h2 class="doxsection"><a class="anchor" id="autotoc_md7"></a>
硬件驱动模块</h2>
<ul>
<li>**RP 模块**：初始化（<span class="tt">RP_init</span>）、数据读取（<span class="tt">RP_Read_block</span>）</li>
<li>**串口通信**：数据收发（<span class="tt">serial.c / serial.h</span>）</li>
<li>**OLED 显示**：硬件 I2C 驱动 OLED 屏幕（<span class="tt">u8g2_stm32_hw_iic.c / .h</span>），配合显示接口（<span class="tt">show.c / show.h</span>）</li>
<li>**按键与 LED**：按键检测与 LED 控制（<span class="tt">keyled.c / keyled.h</span>）</li>
<li>**编码器**：编码器驱动（<span class="tt">encoder.c / encoder.h</span>）</li>
<li>**电机驱动**：电机控制接口（<span class="tt">motor.c / motor.h</span>）</li>
<li>**延时功能**：基于 DWT 的延时函数（<span class="tt">delay.c / delay.h</span>）</li>
</ul>
<h2 class="doxsection"><a class="anchor" id="autotoc_md8"></a>
滤波算法</h2>
<ul>
<li>单变量卡尔曼滤波器（<span class="tt">kalman_filter.c</span>）</li>
</ul>
<hr  />
<h1 class="doxsection"><a class="anchor" id="autotoc_md10"></a>
文档说明</h1>
<p>项目提供由 <b>Doxygen</b> 生成的详细文档，位于 <span class="tt">docs/html</span> 目录下，包含：</p>
<ul>
<li>各模块及文件的功能说明</li>
<li>函数接口定义与参数说明</li>
<li>项目目录结构详解</li>
</ul>
<p>👉 打开 <span class="tt">docs/html/index.html</span> 即可在浏览器中查看完整文档。</p>
<hr  />
<h1 class="doxsection"><a class="anchor" id="autotoc_md12"></a>
使用说明</h1>
<ul>
<li>项目适用于 <b>STM32 系列微控制器**，需配合 **STM32CubeIDE</b> 使用。</li>
<li>主要头文件与源文件对应关系：<ul>
<li>驱动接口头文件：位于 <span class="tt">Drivers/BSP/Inc</span></li>
<li>驱动实现文件：位于 <span class="tt">Drivers/BSP/Src</span></li>
<li>应用层代码：位于 <span class="tt">Application/Src</span></li>
</ul>
</li>
<li>已配置 <span class="tt">.gitignore</span> 文件，忽略 <span class="tt">cmake-build-debug/</span> 目录，避免构建文件提交到版本控制。</li>
</ul>
<hr  />
 </div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
